JSON与Java对象之间的转化方法是什么 |
您所在的位置:网站首页 › fastjson java对象转jsonobject › JSON与Java对象之间的转化方法是什么 |
JSON与Java对象之间的转化方法是什么
发布时间:2023-05-06 11:31:32
来源:亿速云
阅读:80
作者:iii
栏目:开发技术
本篇内容介绍了“JSON与Java对象之间的转化方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 前言在现在的日常开发中,不管前端还是后端,JSON 格式的数据是用得比较多的,甚至可以说无处不在。 接触最多的就是 POST 请求中传递的数据一般以 JSON 的格式放在请求体中,而且服务端各种 API 返回的数据,在响应体中也基本都是以 JSON 格式的数据进行返回的,这也是 RESTful 风格的体现之一。 当然,不止是请求与响应的过程中使用到 JSON,在某些业务场景下也是需要用到 JSON 的,特别是 JSON 与 Java 对象之间的转化。所以,对于 Java 开发的我们来说,JSON 格式的数据与 Java 对象之间的转化是必会的。 转化的工具主流的转化工具有如下几种,一般项目中建议只选其中一种,目前好评最多的感觉就是 Jackson 了。 Jackson FastJson Gson Hutool 准备的 JSON 字符串和 List为了方便演示,这里给出一个 JSON 字符串: String jsonStr = "{\"name\" : \"GTA5\", \"price\" : 54.5}";这里给出一个 List: Game game1 = Game.builder().name("NBA2K23").price(new BigDecimal("198.0")).build(); Game game2 = Game.builder().name("Sim City4").price(new BigDecimal("22.5")).build(); List gameList = new ArrayList(); gameList.add(game1); gameList.add(game2);Jackson我们需要借助 Jackson 提供的 ObjectMapper 对象来完成转化: ObjectMapper objectMapper = new ObjectMapper();将 JSON 字符串 转成 Java 对象:readValue 使用 readValue 方法,第一个参数是 JSON 字符串,第二个参数是转化的目标类的类型。 // 将 JSON 字符串 转成 Java 对象 Game game = objectMapper.readValue(jsonStr, Game.class);将 Java 对象转成 JSON 字符串:writeValueAsString 使用 writeValueAsString 方法,接受一个 Java 对象,返回一个 JSON 字符串。 // 将 Java 对象转成 JSON 字符串 String gameJson = objectMapper.writeValueAsString(game);将 List 转成 JSON 字符串:writeValueAsString 同样使用 writeValueAsString 方法。 // 将 List 转成 JSON 字符串 String gameListJson = objectMapper.writeValueAsString(gameList);将 JSON 字符串 转成 List:readValue 使用 readValue 方法,第一个参数是 JSON 字符串,第二个参数是转化的目标 TypeReference(类型参照)对象,这里指定其泛型为 List。 // 将 JSON 字符串 转成 List List gameListFromJson = objectMapper.readValue(gameListJson, new TypeReference() {});总结 从 JSON 到 Java 对象,使用 readValue 方法。 从 Java 对象到 JSON,使用 writeValueAsString 方法。 FastJson我们需要借助 FastJson 提供的 JSONObject 对象来完成转化。 将 JSON 字符串 转成 Java 对象:parseObject 使用 parseObject 方法,将 JSON 字符串解析(转化)成 Java 对象,第一个参数是 JSON 字符串,第二个参数是目标类的类型。 // 将 JSON 字符串 转成 Java 对象 Game game = JSONObject.parseObject(jsonStr, Game.class);将 Java 对象转成 JSON 字符串:toJSONString 使用 toJSONString 方法,将 Java 对象直接转成 JSON 字符串,接受一个 Java 对象,返回对应的 JSON 字符串。 // 将 Java 对象转成 JSON 字符串 String gameJson = JSONObject.toJSONString(game);将 List 转成 JSON 字符串:toJSONString 同理,可以直接丢一个 List 对象给 toJSONString 方法,把 List 转成 JSON 字符串。 // 将 List 转成 JSON 字符串 String gameListJson = JSONObject.toJSONString(gameList);将 JSON 字符串 转成 List:parseArray 使用 parseArray 方法,将 JSON 字符串解析成 List。2.0 版本需要调用 toJavaList 方法,得到最后的 List // 将 JSON 字符串 转成 List // fastjson 1.2.x 版本:List gameListFromJson = JSONObject.parseArray(gameListJson, Game.class); List gameListFromJson = JSONArray.parseArray(gameListJson).toJavaList(Game.class);总结 JSON 转成 Java Bean 使用 parseObject 方法,转成 List 使用 parseArray 方法。 任意对象转成 JSON,则使用 toJSONString 方法。 Gson我们需要借助 Gson 对象来完成转化: Gson gson = new Gson();将 JSON 字符串 转成 Java 对象:fromJson 使用 fromJson 方法,两个参数的定义也是和上面两个一样的。 // 将 JSON 字符串 转成 Java 对象 Game game = gson.fromJson(jsonStr, Game.class);将 Java 对象转成 JSON 字符串:toJson 使用 toJson 方法,接受一个 Java 对象,然后返回对应的 JSON 字符串。 // 将 Java 对象转成 JSON 字符串 String gameJson = gson.toJson(game);将 List 转成 JSON 字符串:toJson List 也是同理,使用 toJson 方法。 // 将 List;Game; 转成 JSON 字符串 String gameListJson = gson.toJson(gameList);将 JSON 字符串 转成 List:fromJson 这里和 Jackson 的也是类似,第二个参数使用 TypeToken 对象指定转化的目标类型为 List。 // 将 JSON 字符串 转成 List;Game; List;Game; gameListFromJson = gson.fromJson(gameListJson, new TypeToken;List;Game;;() {}.getType());总结 从 JSON 到 Java 对象,使用 fromJson 方法。 从 Java 对象到 JSON,使用 toJson 方法。 Hutool我们需要借助 Hutool 提供的 JSONUtil 对象来完成转化。 将 JSON 字符串 转成 Java 对象:toBean 使用 toBean 方法,还是同样的,接受的两个参数,一个字符串,一个目标类的类型。 // 将 JSON 字符串 转成 Java 对象 Game game = JSONUtil.toBean(jsonStr, Game.class);将 Java 对象转成 JSON 字符串:toJsonStr 使用 toJsonStr 方法,接受一个 Java 对象,返回一个 JSON 字符串。 // 将 Java 对象转成 JSON 字符串 String gameJson = JSONUtil.toJsonStr(game);将 List 转成 JSON 字符串:toJsonStr 同理,也是 toJsonStr 方法。 // 将 List;Game; 转成 JSON 字符串 String gameListJson = JSONUtil.toJsonStr(gameList);将 JSON 字符串 转成 List:toList 使用 toList 方法,和 toBean 方法接受的参数一样。 // 将 JSON 字符串 转成 List;Game; List;Game; gameListFromJson = JSONUtil.toList(gameListJson, Game.class);总结 JSON 转成 Java Bean 使用 toBean 方法,转成 List 使用 toList 方法。 任意对象转成 JSON,则使用 toJsonStr 方法。 “JSON与Java对象之间的转化方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章! 推荐阅读: SwiftStack中Swift容量管理之如何实现平滑添加/删除存储 有哪些常用的hadoop 命令免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 json java 上一篇新闻:Java怎么实现提取QSV文件视频内容 下一篇新闻:Java不支持多继承的原因是什么 猜你喜欢 RabbitMQ集群如何搭建 maven-jar-plugin插件怎么使用 properties-maven-plugin插件怎么使用 maven-shade-plugin插件怎么使用 怎么下载Maven并安装配置 Maven仓库的知识点有哪些 如何创建Maven的项目 Maven如何使用 JavaWeb的同源策略是什么 versions-maven-plugin插件怎么使用 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |